//import java.awt.Cursor;
//import java.awt.Point;
//import java.awt.Rectangle;
//import java.awt.event.MouseAdapter;
//import java.awt.event.MouseEvent;
//
//class Resizer extends MouseAdapter {
//	PainelDesenho component;
//    boolean dragging = false;
//    // Give user some leeway for selections.
//    final int PROX_DIST = 3;
// 
//    public Resizer(Retangulo retanguloEnvolvente) {
//        component = retanguloEnvolvente;
//    }
// 
//    public void mousePressed(MouseEvent e) {
//        if(component.getCursor() != Cursor.getDefaultCursor()) {
//            // If cursor is set for resizing, allow dragging.
//            dragging = true;
//        }
//    }
// 
//    public void mouseReleased(MouseEvent e) {
//        dragging = false;
//    }
// 
//    public void mouseDragged(MouseEvent e) {
//        if(dragging) {
//            Point p = e.getPoint();
//            Rectangle r = component.rect;
//            int type = component.getCursor().getType();
//            int dx = p.x - r.x;
//            int dy = p.y - r.y;
//            switch(type) {
//                case Cursor.N_RESIZE_CURSOR:
//                    int height = r.height - dy;
//                    r.setRect(r.x, r.y+dy, r.width, height);
//                    break;
//                case Cursor.NW_RESIZE_CURSOR:
//                    int width = r.width - dx;
//                    height = r.height - dy;
//                    r.setRect(r.x+dx, r.y+dy, width, height);
//                    break;
//                case Cursor.W_RESIZE_CURSOR:
//                    width = r.width - dx;
//                    r.setRect(r.x+dx, r.y, width, r.height);
//                    break;
//                case Cursor.SW_RESIZE_CURSOR:
//                    width = r.width - dx;
//                    height = dy;
//                    r.setRect(r.x+dx, r.y, width, height);
//                    break;
//                case Cursor.S_RESIZE_CURSOR:
//                    height = dy;
//                    r.setRect(r.x, r.y, r.width, height);
//                    break;
//                case Cursor.SE_RESIZE_CURSOR:
//                    width = dx;
//                    height = dy;
//                    r.setRect(r.x, r.y, width, height);
//                    break;
//                case Cursor.E_RESIZE_CURSOR:
//                    width = dx;
//                    r.setRect(r.x, r.y, width, r.height);
//                    break;
//                case Cursor.NE_RESIZE_CURSOR:
//                    width = dx;
//                    height = r.height - dy;
//                    r.setRect(r.x, r.y+dy, width, height);
//                    break;
//                default:
//                    System.out.println("unexpected type: " + type);
//            }
//            component.repaint();
//        }
//    }
// 
//    public void mouseMoved(MouseEvent e) {
//        Point p = e.getPoint();
//        if(!isOverRect(p)) {
//            if(component.getCursor() != Cursor.getDefaultCursor()) {
//                // If cursor is not over rect reset it to the default.
//                component.setCursor(Cursor.getDefaultCursor());
//            }
//            return;
//        }
//        // Locate cursor relative to center of rect.
//        int outcode = getOutcode(p);
//        Rectangle r = component.rect;
//        switch(outcode) {
//            {
//        }
//    }
// 
//    /**
//     * Make a smaller Rectangle and use it to locate the
//     * cursor relative to the Rectangle center.
//     */
//    private int getOutcode(Point p) {
//        Rectangle r = (Rectangle)component.rect.clone();
//        r.grow(-PROX_DIST, -PROX_DIST);
//        return r.outcode(p.x, p.y);       
//    }
// 
//    /**
//     * Make a larger Rectangle and check to see if the
//     * cursor is over it.
//     */
//    private boolean isOverRect(Point p) {
//        Rectangle r = (Rectangle)component.rect.clone();
//        r.grow(PROX_DIST, PROX_DIST);
//        return r.contains(p);
//    }
//}